package com.yzh.opp4.teacher;

public class Test {
    public static void main(String[] args) {
        //企业招聘不同国籍的程序员来工作
        //Programmer pro1 = new Chinese();
        //Programmer pro1 = SxtSchool.getProgrammer("ch");
        Programmer pro1 = SxtSchool.getProgrammer("en");
        pro1.writeCode();
        pro1.eat();
    }
}

/**
 * 简单工厂模式
 * 1.static方法
 * 2.返回值类型是父类类型
 * 3.需要传递一个参数，指定返回值的具体类型
 * 4.方法体根据参数创建相应子类对象并返回
 */
class SxtSchool{
        public static  Programmer getProgrammer(String type){
            Programmer pro;
            if("en".equals(type)){
                pro = new English();
            }else if("it".equals(type)){
                pro = new Italian();
            }else if("us".equals(type)){
                pro = new Italian();
            }else{
                pro = new Chinese();
            }
            return pro;

        }
}